package controlador;

import modelo.Administrador;
import java.sql.*;
import SQL.Conexion;
import java.util.ArrayList;

public class Sesion 
{
    public boolean autentificado(Administrador admin)
    {
        boolean auth = false;
        try
        {
            boolean authUs = false;
            boolean authPs = false;
            String us = null;
            String cl = null;
            String usuario = admin.getUsuario();
            String clave = admin.getPass();
            
            Connection conexion = Conexion.getConexion();
            String sql1 = "select usuario from sistadmin";
            String sql2 = "select clave from sistadmin";
        
            Statement consulta1 = conexion.createStatement();
            ResultSet resultado = consulta1.executeQuery(sql1);
            while(resultado.next())
            {
                us = resultado.getNString(1).trim();
                if(us.equals(usuario))
                {
                    authUs = true;
                }
                else
                {
                    authUs = false;
                    System.out.println("Usuario Incorrecto");
                }
            }
            Statement consulta2 = conexion.createStatement();
            ResultSet resultado2 = consulta2.executeQuery(sql2);
            while(resultado2.next())
            {
                cl = resultado2.getNString(1).trim();
                if(cl.equals(clave))
                {
                    authPs = true;
                }
                else
                {
                    authPs = false;
                    System.out.println("Clave incorrecta");
                }
            }
            if(authUs==true && authPs==true)
            {
                auth = true;
            }
        }
        catch(Exception z)
        {
            System.err.print("Error con "+z.getMessage());
        }
        return auth;
    }
    public ArrayList<String> listaAutores()
    {
        ArrayList<String> lista = new ArrayList<String>();
        try
        {
            String sql = "SELECT nombre_autor FROM autor";
            Connection conexion = Conexion.getConexion();
            Statement consulta = conexion.createStatement();
            ResultSet resultado = consulta.executeQuery(sql);
            while(resultado.next())
            {
                String nombre = resultado.getNString(1).trim();
                lista.add(nombre);
            }
        }
        catch(Exception z)
        {
            System.err.print("Error con "+z.getMessage());
        } 
        return lista;
    }
    public ArrayList<String> listaEditoriales()
    {
        ArrayList<String> lista = new ArrayList<String>();
        try
        {
            String sql = "SELECT nombre_editorial FROM editorial";
            Connection conexion = Conexion.getConexion();
            Statement consulta = conexion.createStatement();
            ResultSet resultado = consulta.executeQuery(sql);
            while(resultado.next())
            {
                String nombre = resultado.getNString(1).trim();
                lista.add(nombre);
            }
        }
        catch(Exception z)
        {
            System.err.print("Error con "+z.getMessage());
        } 
        return lista;
    }
}
